Method and apparatus for performing multiple computer bootups in minimal mode

ABSTRACT

A computer implemented process performs a plurality of computer bootups in minimal mode. Login authentication is disabled during the computer bootups. All startup programs and services not required to install new software are disabled during the computer bootups. New software is installed during the computer bootups. During the final computer bootup, the disabled startup programs and services are enabled to restore the computer to normal operating condition.

FIELD OF THE INVENTION

The invention relates generally to computer processing, and specifically to booting a computer a multiple number of times with login authentication disabled and start up programs disabled to install new software.

BACKGROUND OF THE INVENTION

Modern computing systems use software that commonly requires updating for increased functionality. Software updates are downloaded and then installed on the computer's hard drive. Complete installation often requires that the computer be rebooted. Some updates may require multiple reboots, and multiple updates often require multiple reboots. The normal rebooting process typically loads into memory start up applications and usually requires that the user login with a password. When multiple reboots are required to fully install software updates, the installation process is time consuming and requires repeated attention by the user.

When multiple, time consuming reboots are required to fully install a software update, the computer user may delay rebooting the computer until a more convenient time for the user. However, when multiple reboots are required for full installation, the computer software will remain non-updated and insecure until the multiple reboots occur. Further, a partial installation without a reboot may create conflicts and instability in the computer software.

Some computer software, such as Microsoft Windows®, offer the user an option to reboot the computer in a minimal mode. A minimal reboot is a faster way to reboot the computer because the user can disable various aspects of the software such as start-up applications. However, a minimal reboot as currently known in the prior art still suffers from a number of limitations. First, a minimal reboot does not offer the option to disable the login authentication requirement. Second, when installation of a software update requires multiple reboots, the user typically must manually reboot the computer each time, enter a user password, and then wait for each minimal bootup to complete before starting another bootup. This prior art process is not an efficient way to perform multiple reboots because the user must manually start each bootup, select available options for a minimal bootup, monitor the bootup process to enter a password, determine when each minimal reboot is complete, and then manually start the bootup process again. Finally, when multiple minimal reboots are completed, the user must reboot the computer a final time in normal mode to bring the system back to the expected normal boot up state with all start up applications and systems running.

A need exists for a computer program that performs multiple reboots, that disables login authentication and startup program and services initialization during the reboots, that leaves detection/configuration startups active if the next update step requires network access for downloads, that installs software, and that re-enables the disabled features following the last configuration step after the last reboot to bring the system back to the normal bootup state. A need also exists for an efficient application programming interface that provides selectable options for performing multiple reboots, for disabling login authentication and startup program initialization, for leaving detection/configuration startups active if the next update step requires network access for downloads, and for enabling the disabled features following the last configuration step after the last reboot to bring the system back to the normal bootup state.

SUMMARY OF THE INVENTION

A computer implemented process performs a plurality of computer bootups. Login authentication is disabled during the computer bootups. All startup programs not required to install new software are disabled during the computer bootups. New software is installed during the computer bootups. During the final computer bootup, the disabled startup programs are enabled to restore the computer to normal operating condition.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:

FIG. 1 depicts an exemplary computer network;

FIG. 2 depicts exemplary programs in a memory on a computer;

FIG. 3 depicts a flowchart of a Minimal Bootup Program;

FIG. 4 depicts a graphical user interface;

FIG. 5 depicts an alternative graphical user interface;

FIG. 6 depicts an alternative graphical user interface;

FIG. 7 depicts an alternative graphical user interface;

FIG. 8 depicts an alternative graphical user interface;

FIG. 9 depicts an alternative graphical user interface.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The principles of the present invention are applicable to a variety of computer hardware and software configurations. The term “computer hardware” or “hardware,” as used herein, refers to any machine or apparatus that is capable of accepting, performing logic operations on, storing, or displaying data, and includes without limitation processors and memory; the term “computer software” or “software,” refers to any set of instructions operable to cause computer hardware to perform an operation. A “computer,” as that term is used herein, includes without limitation any useful combination of hardware and software, and a “computer program” or “program” includes without limitation any software operable to cause computer hardware to accept, perform logic operations on, store, or display data. A computer program may, and often is, comprised of a plurality of smaller programming units, including without limitation subroutines, modules, functions, methods, and procedures. Thus, the functions of the present invention may be distributed among a plurality of computers and computer programs. The invention is described best, though, as a single computer program that configures and enables one or more general-purpose computers to implement the novel aspects of the invention. For illustrative purposes, the inventive computer program will be referred to as the “Minimal Bootup Program.” The term “Bootup” refers generally to the process of starting or restarting a computer wherein an operating system is loaded into the computer's main memory or random access memory to enable a user to run applications on the computer.

Additionally, the Minimal Bootup Program is described below with reference to an exemplary network of hardware devices, as depicted in FIG. 1. A “network” comprises any number of hardware devices coupled to and in communication with each other through a communications medium, such as the Internet. A “communications medium” includes without limitation any physical, optical, electromagnetic, or other medium through which hardware or software can transmit data. For descriptive purposes, exemplary network 100 has only a limited number of nodes, including workstation computer 105, workstation computer 110, server computer 115, and persistent storage 120. Network connection 125 comprises all hardware, software, and communications media necessary to enable communication between network nodes 105-120. Unless otherwise indicated in context below, all network nodes use publicly available protocols or messaging services to communicate with each other through network connection 125.

Minimal Bootup Program 200 typically is stored in a memory, represented schematically as memory 220 in FIG. 2. The term “memory,” as used herein, includes without limitation any volatile or persistent medium, such as an electrical circuit, magnetic disk, or optical disk, in which a computer can store data or software for any duration. A single memory may encompass and be distributed across a plurality of media. Thus, FIG. 2 is included merely as a descriptive expedient and does not necessarily reflect any particular physical embodiment of memory 220. As depicted in FIG. 2, though, memory 220 may include additional data and programs. Of particular import to Minimal Bootup Program 200, memory 220 may include detection/configuration startup applications 230 needed to download software with which Minimal Bootup Program 200 interacts.

FIG. 3 depicts a flow chart of Minimal Bootup Program 300. Minimal Bootup Program 300 starts (310) and the computer boots up or reboots (312). Minimal Bootup Program 300 can be configured to begin when the computer is powered on, in which case Minimal Bootup Program 300 will begin with a boot up. Minimal Bootup Program 300 also can be configured to begin when the computer is already booted up, in which case Minimal Bootup Program 300 will begin with a reboot. Minimal Bootup Program 300 then disables login identification (314) which eliminates the need for user login with a password or other identification. Minimal Bootup Program 300 then proceeds to step (316). If the feature that automatically starts programs needed to download software (316) is enabled, then Minimal Bootup Program 300 disables startup programs except startup programs needed to install software and download new software (324). Minimal Bootup Program 300 then installs software and downloads new software (328). If the feature that automatically starts programs needed to download software (316) is disabled, then Minimal Bootup Program 300 proceeds to step (318). If the feature that automatically determines whether software needs to be downloaded after the next bootup is enabled, then Minimal Bootup Program 300 automatically determines whether software needs to be downloaded after the next bootup (318). If software is required to be downloaded after the next bootup, then Minimal Bootup Program 300 disables startup programs except for startup programs required to install software and download software (324). Minimal Bootup Program 300 then installs software and downloads new software (328). If software is not required to be downloaded after the next bootup, then Minimal Bootup Program 300 disables startup programs except for startup programs required to install software (322) and installs software (326). After Minimal Bootup Program 300 executes step (326) or (328), Minimal Bootup Program 300 then determines whether the current bootup cycle is the last bootup required to install new software (330). If not, Minimal Bootup Program 300 reboots the computer (312) and repeats the minimal bootup cycle. If yes, then Minimal Bootup Program 300 re-enables startup programs and services to restore the computer to a normal operating condition (332) and stops (334).

FIG. 4 depicts graphical user interface 400. Graphical user interface 400 includes the statement “Number of Reboots:” 410 followed by entry box 412 where a user may enter the number of reboots desired. Graphical user interface 400 also includes the statement “Disable Login Authentication” 414 followed by entry box 416 where a user may select the option of disabling the login authentication. Graphical user interface 400 also includes the statement “Disable Startup Programs” 418 followed by entry box 420 where a user may select the option of disabling the startup programs.

FIG. 5 depicts alternative graphical user interface 500. Graphical user interface 500 includes the statement “Number of Reboots:” 510 followed by entry box 512 where a user may enter the number of reboots desired.

FIG. 6 depicts alternative graphical user interface 600. Graphical user interface 600 includes the number of reboots entered by the user in entry box 512 in interface 500. In the example provided in interface 600, the user selected 2 reboots in entry box 512 in interface 500. The example is for illustrative purposes only and the user could have selected a number of reboots greater than one. The example graphical user interface 600 includes the statement “REBOOT 1:” 610. Underneath the statement “REBOOT 1:” 610 is the statement “Disable Login Authentication” 612 followed by checkbox 614 where a user may select the option of disabling the login authentication for reboot 1. Underneath the statement “Disable Login Authentication” 612 is the statement “Disable Startup Programs” 616 followed by checkbox 618 where a user may select the option of disabling the startup programs in reboot 1. Underneath the statement “Disable Startup Programs” 616 is the statement “REBOOT 2:” 620. Underneath the statement “REBOOT 2:” 620 is the statement “Disable Login Authentication” 622 followed by checkbox 624 where a user may select the option of disabling the login authentication for reboot 2. Underneath the statement “Disable Login Authentication” 622 is the statement “Disable Startup Programs” 626 followed by checkbox 628 where a user may select the option of disabling the startup programs in reboot 2.

FIG. 7 depicts alternative graphical user interface 700. Graphical user interface 700 is identical to graphical user interface 400 depicted in FIG. 4 except that graphical user interface 700 also includes the statement “Enable Network Access” 722 followed by check box 724 where a user may select to enable network access during the multiple reboots.

FIG. 8 depicts alternative graphical user interface 800. Graphical user interface 800 includes the statement “Number of Reboots:” 810 followed by entry box 812 where a user may enter the number of reboots desired.

FIG. 9 depicts alternative graphical user interface 900. Graphical user interface 900 is identical to graphical user interface 600 depicted in FIG. 6 except that graphical user interface 900 also includes the statements “Enable Network Access” 920 and 934 followed by check boxes 922 and 936 where a user may select to enable network access during reboot 1 and/or reboot 2.

A preferred form of the invention has been shown in the drawings and described above, but variations in the preferred form will be apparent to those skilled in the art. The preceding description is for illustration purposes only, and the invention should not be construed as limited to the specific form shown and described. The scope of the invention should be limited only by the language of the following claims. 

1. A computer implemented process for automatically performing a plurality of computer bootups, the computer implemented process comprising: booting a computer a plurality of times; disabling login authentication during the plurality of computer bootups; disabling a startup program not required to install new software during the plurality of computer bootups; installing new software; and during the final computer bootup, re-enabling the disabled startup programs to restore the computer to normal operating condition.
 2. The computer implemented process of claim 1 further comprising: automatically enabling detection/configuration startup applications during the plurality of bootups to provide access to downloads needed for new software installation.
 3. The computer implemented process of claim 1 wherein the computer automatically determines whether detection/configuration startup applications are needed to provide access for downloads during the next bootup and automatically enables all needed detection/configuration startup applications during the next bootup.
 4. The computer implemented process of claim 2 further comprising: automatically enabling detection/configuration startup applications during the plurality of bootups to provide access to downloads needed for new software installation.
 5. A computer implemented process for performing a plurality of computer bootups, the computer implemented process comprising: opening a graphical user interface for selecting an option to disable login authentication; opening a graphical interface for selecting an option to disable startup program initialization; booting the computer a plurality of times; disabling login authentication during the computer bootups as selected by the user; disabling a startup program not required to install new software during the computer bootups as selected by the user; and installing new software, and during the final computer bootup, re-enabling the disabled startup programs to restore the computer to normal operating condition.
 6. The computer implemented process of claim 5 further comprising: opening a graphical interface for entering the desired number of computer bootups and booting the computer a plurality of times as determined by the user.
 7. The computer implemented process of claim 5 further comprising: opening a graphical user interface for selecting an option to leave detection/configuration startup applications active to provide network access for downloads during one or more of the computer bootups and enabling detection/configuration startup applications during the computer bootups as selected by the user.
 8. A computer program product for causing a computer to perform a plurality of computer bootups, the computer program product comprising a computer-useable medium having a computer-readable program, wherein the computer-readable program when executed on a computer causes the computer to: boot the computer a plurality of times; disable login authentication during the plurality of computer bootups; disable all startup programs and services not required to install new software during the plurality of computer bootups; install new software; and during the final computer bootup, re-enable the disabled startup programs and services to restore the computer to normal operating condition.
 9. A computer program product of claim 8 further comprising a computer-useable medium having a computer-readable program, wherein the computer-readable program when executed on a computer causes the computer to enable detection/configuration startup applications during the plurality of bootups to provide access for downloads needed for new software installation.
 10. A computer program product of claim 8 further comprising a computer-useable medium having a computer-readable program wherein the number of computer bootups is automatically determined by the computer.
 11. A computer program product of claim 9 further comprising a computer-useable medium having a computer-readable program wherein the number of computer bootups needed for software installation is automatically determined by the computer.
 12. A computer program product of claim 10 further comprising a computer-useable medium having a computer-readable program wherein the computer automatically determines whether detection/configuration startup applications are needed to provide access for downloads during the next bootup and automatically enables all needed detection/configuration startup applications during the next bootup.
 13. A computer program product of claim 10 further comprising a computer-useable medium having a computer-readable program wherein the computer automatically determines whether detection/configuration startup applications are needed to provide access for downloads during the next bootup and enables all needed detection/configuration startup applications during the next bootup.
 14. A computer program product of claim 8 further comprising a computer-useable medium having a computer-readable program wherein a graphical user interface is opened for selecting an option to disable login authentication, a graphical user interface is opened for selecting an option to disable startup program initialization, a graphical user interface is opened for entering the desired number of computer bootups, and entering the desired number of computer bootups.
 15. A computer program product of claim 8 further comprising a computer-useable medium having a computer-readable program wherein a graphical user interface is opened for selecting an option for leaving detection/configuration startup applications active to provide network access for downloads during one or more of the computer bootups.
 16. A computer program product of claim 14 further comprising a computer-useable medium having a computer-readable program wherein a graphical user interface is opened for selecting an option for leaving detection/configuration startup applications active to provide network access for downloads during one or more of the computer bootups. 